Method and system for triggering augmented data collection on a network based on traffic patterns

ABSTRACT

A method and system for increasing the collection of network traffic data in a network based on the occurrence of predetermined criteria. A network appliance manages network traffic in the network and passes data traffic on the network. Network traffic data is collected based on the data traffic passing through the network appliance at a normal level. It is determined whether the network traffic data indicates an abnormal condition. The collection of network traffic data is increased through the network traffic appliance when an abnormal condition is detected. The network traffic data from the increased collection is stored in a memory device.

COPYRIGHT

A portion of the disclosure of this patent document contains materialthat is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patentdisclosure, as it appears in the Patent and Trademark Office patentfiles or records, but otherwise reserves all copyright rightswhatsoever.

TECHNICAL FIELD

The present invention relates generally to improving quality of serviceon a computer network, and, more particularly, to selectively increasingnetwork traffic data collection based on a detected condition.

BACKGROUND

Commonly known local area networks (LAN), such as an Ethernet-basednetwork, communicate data via packets having a set format. Control ofpacket traffic in a network is critical to insure balanced communicationflow and efficient transmission. Such packets are sent between a sourcenetwork node and a destination node over a communication medium such ascoaxial cable or twisted pair wire. Each packet typically has a headerthat contains limited routing information and a payload.

The most common method of local area network communication is theEthernet protocol, which is a family of frame-based computer networkingtechnologies for local area networks. The Ethernet protocol isstandardized as IEEE 802.3 and defines a number of wiring and signalingstandards for the physical layer through means of network access at theMedia Access Control (MAC)/Data Link Layer and a common addressingformat.

The combination of the twisted pair versions of Ethernet for connectingend systems to the network, along with the fiber optic versions for sitebackbones, is the most widespread wired LAN technology. Ethernet nodescommunicate by sending each other data packets that are individuallysent and delivered. Each Ethernet node in a network is assigned a 48-bitMAC address. The MAC address is used both to specify the destination andthe source of each data packet in the header. Network interface cards(NICs) or chips on each node normally do not accept packets addressed toother Ethernet nodes.

The speed of computer networks is increasing. Internal LANs with speedsof 1 Gb/s are ubiquitous. Backbones of 10 Gb/s are becoming more andmore popular. Some enterprises are moving to 10 Gb/s for their internetgateway, which is already popular at the university institutions.

Network visibility is a desired feature. Network administrators want toknow what traffic is on their network and this process takes upnetworking resources. Also when there are issues in the network, networkmanagers want to investigate by understanding what was happening on thenetwork at the time of the issue and the time leading up to the issue.Additionally when a customer investigates an issue, they typically wanthighly granular data relating to both network data and non-networkingdata and richness to the data as well as correlation between the data,so that they can accurately assess the issue.

There are protocols such as NetFlow that output summary informationabout each network transaction flow as it happens in order to assistnetwork administrators. NetFlow export is a feature that was introducedon Cisco routers that provides the ability to collect IP network trafficas it enters or exits an interface. By analyzing the data provided byNetFlow, a network administrator can determine information such as thesource and destination of traffic, class of service, and the causes ofcongestion. NetFlow records provide detailed visibility into networktraffic. However NetFlow records can add 10-15% extra traffic volume ona network. At 1 Gb/s and certainly at 10 Gb/s this represents a largeamount of data for a network system to capture and process. Also storingdata about the traffic that passes through a network appliance thatroutes and controls network traffic in a fashion that supports thedesired richness represents a large amount of data for a system tocapture and process.

Thus, there is a need for a network traffic appliance that varies thetype of data monitored on a network based on events in the network.There is also a need for conserving network resources based on the needfor additional network traffic data. There is also a need for a networksystem to collect data from a variety of sources during certain abnormalcircumstances.

SUMMARY

According to one example, a method of adjusting network data managementin a network appliance coupled to devices in a network is disclosed. Thenetwork appliance passes data traffic on the network. Network trafficdata is collected based on the data traffic passing through the networkappliance at a normal level. It is determined whether the networktraffic data indicates an abnormal condition. The collection of networktraffic data through the network appliance is increased when an abnormalcondition is detected. The network traffic data from the increasedcollection is stored in a memory device.

Another example is a traffic management system for regulating networktraffic between computing devices in a network. The system includes acollection module for collecting network traffic data. A storage devicestores network traffic data. The system includes a data analysis modulecoupled to the data collector module. The data analysis module monitorsthe network traffic data from the collection module. The collectionmodule increases collection of network traffic data when an abnormalcondition is detected by the data analysis module.

Additional aspects of the invention will be apparent to those ofordinary skill in the art in view of the detailed description of variousembodiments, which is made with reference to the drawings, a briefdescription of which is provided below.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a block diagram of an example network system including networktraffic management appliances that allows augmented network traffic datacollection based on a predetermined condition;

FIG. 2 is a block diagram of a central management system in FIG. 1 thatdetermines when to initiate augmented data collection via networktraffic appliances;

FIG. 3 is a block diagram of a traffic management appliance in FIG. 1that may initiate augmented collection of traffic data in a network;

FIG. 4A is a flow diagram showing the operation of the collection ofdata by the traffic management appliance in FIG. 3 under normalcircumstances;

FIG. 4B is a flow diagram showing the operation of the augmented datacollection by the traffic management appliance in FIG. 3; and

FIG. 5 is a flow diagram of the process of triggering the augmented datacollection by the network system in FIG. 1.

While the invention is susceptible to various modifications andalternative forms, specific embodiments have been shown by way ofexample in the drawings and will be described in detail herein. Itshould be understood, however, that the invention is not intended to belimited to the particular forms disclosed. Rather, the invention is tocover all modifications, equivalents, and alternatives falling withinthe spirit and scope of the invention as defined by the appended claims.

DETAILED DESCRIPTION

FIG. 1 shows a network system 100 that may include a series of one ormore application servers 102, 104, 106, and 108 coupled through a widearea network 110 to a headquarters site 120, which may include aseparate local area network. The application servers 102, 104, 106, and108 may be network nodes of the local area network. The LAN 120 mayinclude devices in the headquarters 120. The local area network may alsoinclude other network nodes or devices such as computers. It is to beunderstood that the servers 102, 104, 106, and 108 may be hardware orsoftware or may represent a system with multiple servers that mayinclude internal networks. In this example, the servers 102, 104, 106,and 108 may be hardware server devices, which run network basedapplications such as voice over IP (VOIP) services, P2P services,streaming services, database services, file sharing services, instantmessaging services, interactive services, mail services, or webservices, which are delivered via the wide area network 110. Further,additional servers and workstations and other devices may be coupled tothe system 100 or the local area network run by the headquarters 120 andmany different types of applications may be available on servers coupledto the system 100. As will be explained below, the local area networkmay allow network nodes to exchange packets that include trailers havingback channel data, such as traffic management data. Each of the networknodes, such as application servers 102, 104, 106, and 108, include anetwork interface such as a network interface card for establishing acommunication channel to another network node.

In this example, the headquarters 120 receives traffic from the network110 through a router 122. Another router 124 sends traffic to two branchoffices 150 and 160 that both may include their own local area network.Traffic is routed to the branches 150 and 160 via a router 124 andmanaged by network traffic appliances 126 and 128 respectively.

The wide area network 110 may include any publicly accessible networkenvironment, such as the Internet, which includes network components,such as public servers that are not directly managed or under directcontrol by the network traffic appliances 126 and 128, yet whoseoperation may still be influenced in unique, novel, and unexpected waysin response to TCP/IP protocol directives strategically purposefullydetermined and sent from the network traffic appliance 126 and 128 tomake the local area networks at the branches 150 and 160, and perhapsthe wide area network 110, operate more efficiently, as will bedescribed in greater detail herein. It should be noted, however, thatthe ensuing descriptions of the various functionalities relating to theservers 102, 104, 106, and 108 are generally applicable to the networkdevices coupled to the wide area network 110, and thus the remainingdescription will simply refer to either one as servers 102, 104, 106,and 108 unless noted otherwise. The wide area network 110 is coupled viaa network circuit to the router 122, which is used to route networktraffic to and from the wide area network 110 through the networktraffic appliances 126 and 128 to devices on local area networks at thebranches 150 and 160. The local area network at the branches 150 and 160may include devices such as computers 152 and 162 and also other typesof network devices such as VOIP phones 154 and 164.

In this example, the local area networks in the branch offices 150 and160 may be a local area network environment employing any suitableinterface mechanisms and communications technologies including, forexample telecommunications in any suitable form (e.g., voice, modem, andthe like), Public Switched Telephone Network (PSTNs), Ethernet-basedPacket Data Networks (PDNs), combinations thereof, and the like.Moreover, local area networks may be made up of one or moreinterconnected LANs located in substantially the same geographiclocation or geographically separated, although the local area networksmay include other types of networks arranged in other configurations.Moreover, the local area networks may include one or more additionalintermediary and/or network infrastructure devices in communication witheach other via one or more wired and/or wireless network links, such asswitches, routers, modems, or gateways (not shown), and the like, aswell as other types of network devices including network storagedevices. The local area networks in the branch offices 150 and 160 arecoupled via a LAN switch to the respective traffic management appliance126 and 128.

The network traffic appliances 126 and 128 may be interposed between thewide area network 110 and the local area networks in the branch offices150 and 160 as shown in FIG. 1. Communications between the network nodeson the local area networks in FIG. 1 may be conducted via the Ethernetstandard in this example. Communications may be made in a data payloadin an Ethernet packet sent between a source node and a destination nodeon the local area network. In this example, the WAN 110 provides usersof devices such as the server 132 and computers 152 and 162 with accessto servers and systems on the Internet or in other physical locations.The headquarters 120 includes a central management system 130, which inthis example may be a Service Delivery Point (SDP) product such as theExinda Management Centre manufactured by Exinda Networks PTY, Ltd. Thecentral management system 130 in this example allows an administrativeuser to control the entire networks of the headquarters 120 and thebranch offices 150 and 160 from one central console. The centralmanagement system 130 allows the administrative user to monitor andconfigure the treatment of all applications, devices, users, locations,and activities using the network from one management user interface. Byplacing the network traffic appliances 126 and 128 with quality ofservice capabilities between the LANs in the branches 150 and 160 andthe WAN 110, access to the WAN services may be regulated to ensure thatsome applications or users have preferential access, thus ensuringefficient use of network resources for critical application use. In thisexample, the central management system 130 monitors network data trafficacross all of local area networks in the branches 150 and 160 as well asthe headquarters 120 through information provided by the network trafficappliances 126 and 128. This results in graphs of application andnetwork use across the organization so that the network administratorcan determine when problems happen and what to do to fix them. As willbe explained below, the central management system 130 may obtain moredetailed data from the network traffic appliances 126 and 128 and/or maycause additional data to be collected.

In this example, the application server 132 in the headquarters 120 is aVOIP server that controls a call manger 134. Voice traffic is thusfunneled from users of devices such as the VOIP phone 154 in the branchoffice 150 that goes through the router 124. As will be explained below,the central management system 130 monitors data traffic throughout thenetworks in FIG. 1. However, if either network traffic appliance 126 or128 detects flaws such as voice call drops, the respective networktraffic appliance may request additional network traffic data from thelocal area network routers at the direction of the central managementsystem 130. Correction of flaws may be performed either by the networktraffic appliance 126 or 128 or by the central management system 130.Alternatively, the data may be stored for troubleshooting analysis by anetwork manager. The increased data collection may be terminated whenthe voice call ends or the application server 132 determines an end oftransaction, or may continue collecting from transaction.

From the perspective of the network administrator a problem has occurredand the central management system 130 already has a richer set of datafor problem resolution purposes. This happens automatically without userinteraction, resulting in a rich set of data being available for thetime period surrounding the problem incident. By having the systemautomatically adjust its data collection, expensive data hasn't beencollected during periods when it is not needed.

FIG. 2 is a detailed block diagram of the central management system 130and a number of traffic management appliances such as the networktraffic appliances 126 and 128. As explained above, the centralmanagement system 130 may collect network traffic data from the networktraffic appliances 126 and 128 or other devices in the networks. Thecentral management system 130 includes a reporting module 202 and anetwork traffic monitoring module 204. As will be explained below, thenetwork traffic monitoring module 204 adjusts the amount of collectednetwork traffic data from different devices such as network trafficappliances or other network devices according to need. The reportingmodule 202 includes a reporting engine 210 that interfaces with thenetwork traffic monitoring module 204 to report the results of data onthe flow of traffic in one or more networks monitored by the centralmanagement system 130.

The network traffic monitoring module 204 includes a data collectionengine 220, a traffic performance analysis engine 222, and a trafficcollection database 224. The data collection engine 220 may obtainnormal data from various sources including network traffic appliancessuch as the network traffic appliances 126 and 128 and other networktraffic appliances such as a network traffic appliance 226. Increaseddata may be obtained from these sources as will be explained below.Other sources for increased data collection may include servers 228,Netflow data from a router 230, and a third-party data source 232. Eachserver 228 may include network traffic data or data related to serveroperation such as SNMP data in this example. As explained above, Netflowis a data protocol that may include summary information about eachnetwork transaction flow. Third-party data 232 may be in the form ofdata in a proprietary format that relates to network traffic generatedfrom software or devices from third parties to assist in network trafficmonitoring and analysis. The data collection engine 220 also includesdata interfaces to collect data from different sources. In this example,the data collection engine 220 includes an SNMP data interface 242, aNetflow interface 244, and a third-party interface 246. The datainterfaces are each connected to different sources of data.

As explained above, the central management system 130 is coupled to thenetwork traffic appliances such as the network traffic appliances 126and 128, which may collect traffic data on a smaller network managed bythe respective network traffic appliance. In this example, the networktraffic management appliance 126 may be one of the series 4761 NetworkOrchestrator traffic management appliances available from ExindaNetworks PTY, Ltd. of Australia. The network traffic appliance 126 mayprovide a connection to the wide area network 110 via the router 124 andmanage traffic to and from the wide area network 110 to a local areanetwork in the branch office 150 and the devices therein such as thecomputer 152 and the VOIP phone 154. Optimizing the WAN connections tothe LAN allows network administrators to route inbound and outboundtraffic on the network circuit coupled to the wide area network 110based on a variety of factors. Traffic may be prioritized andde-prioritized by application type, who is generating the traffic, andthe time of day the request is being made. For example, traffic flowingbetween the branch office 150 and the head office network can beprioritized over any other traffic. The network traffic appliance 126provides all of the core capabilities needed to effectively manage anetwork circuit from the WAN 110. These tightly integrated capabilitiesinclude real-time monitoring, reporting, traffic control, optimization,and intelligent acceleration.

In this example, the network traffic appliance 126 may include acontroller 250, a network traffic monitoring module 252 and a reportingengine 254. The controller 250 includes a quality of service (QoS)controller 260, a WAN optimizer controller 262, and a configuration userinterface 264. The WAN optimizer controller 262 monitors applicationsrunning on the network managed by the network traffic appliance 126. Theconfiguration user interface 264 displays network traffic data to a userand allows the user to configure policies to direct network trafficmanaged by the network traffic management appliance 126.

The QoS controller 260 includes an enforcement module that accessesstored rules or policies for managing network traffic managed by thenetwork traffic appliance 126 such as traffic on the LAN at the branchoffice 150.

In FIG. 1, users on a LAN, such as those of the branch office 150, haveall of their traffic from the WAN 110 flow through the network trafficappliance 126, which applies its QoS rules and policies from the QoSenforcement module. A client computer on the LAN, such as the computer152, will make a request to a website that may be operated by the server102 coupled to the WAN 110. For example, a user may log on to a website.This request competes with all the other WAN bound requests andresponses. The QoS enforcement module in the network traffic appliance126 shapes the network traffic allocated to the user requests such asthat for web access according to the rules (policies) that theadministrator has configured. This allows certain traffic to beguaranteed certain portions of the link and other traffic to be limitedto certain portions.

Network traffic data collection is accomplished by the network trafficappliances 126 and 128 in the course of managing traffic on theirrespective networks. The network traffic monitoring module 250 includesa data collection engine 270, which stores collected network trafficdata to a database 272. The data collection engine 270 also is connectedto the data collection engine 220 of the central management system 130.As will be explained below, the network traffic data collected by thedata collection engine 270 may be requested by the data collectionengine 220 when certain conditions exist. The LAN in each of the branchoffices 150 and 160 are monitored by the network traffic appliances 126and 128 respectively. The data collection engine 270 collects certainnetwork data; calculates an application performance score fromperformance as observed by the user; monitors network delay, serverdelay, and loss/jitter; and establishes a baseline of what each valueshould be. The network traffic appliances 126 and 128 collect a baselineof network traffic data that is stored for historical purposes in thedatabase 272.

The speed of the local area networks in the branches 150 and 160 allowsa large amount of network traffic data to be collected by the networktraffic appliances 126 and 128, which could potentially tie up systemresources. However, the reality is that most of the network traffic datathat is collected will not be used during the analysis phase by eitherthe network traffic appliances 126 or 128 or the central managementsystem 130. Thus, the present process of selected increased datacollection after a limited period of time ensures that the centralmanagement system 130 has collected the network traffic data that isnecessary for the analysis phase while minimizing the total data beingcollected.

The described process captures the network traffic data that isnecessary to diagnose a networking problem during an increased datacollection period, while not requiring an expensive system in terms ofdeveloper effort, deployed hardware cost, and the network bandwidthrequirements. Thus, one advantage of the system 100 is the ability touse more cost-effective hardware and less overall memory for networkdevices. For example, the database 224 includes normal traffic data 280,Netfiow collection data 282, SNMP data 284, and third-party data 286.Since data from other sources is only collected during a certain time,the storage necessary for additional collected data 282, 284, and 286 isreduced in comparison to storage required if such data is continuallycollected.

One example of an application for increased data collection is a Netflowcollector application. Netflow is a standard data format for networkdevices that is emitted for each flow that goes through the device. Thenetwork traffic appliances 126 and 128 will request that Netflow recordsare sent when an abnormal event occurs, such as when monitoredapplication performance drops. The Netflow records will includerequested information such as how many bytes and type of application fornetwork data traffic. There is a huge amount of data and very granulardata in a Netflow request. Thus, continuous usage of a Netflow collectorapplication is difficult due to the bandwidth required to collect thenecessary data. However, the use of a Netflow collector on requestallows use of the Netflow collector when it is needed, thus savingnetwork resources.

The central management system 130 controls the amount of network trafficdata collection based on a specific situation. The central managementsystem 130 may collect network traffic data from a number of differentnetwork devices. In normal operation, the central management system 130collects network summary data from the data collection engines of thenetwork traffic appliances 126 and 128. The central management system130 thus monitors the network traffic at a base level in normaloperation. When characteristics of the network traffic are detected thatindicate an issue in the network may be occurring, a heighted datacollection protocol automatically turns on and starts increasing thedata collection by the central management system 130. Thus, when anadministrative user is notified by the central management system 130that there is an issue with the network, detailed data may be madeavailable in order to investigate the issue. If the augmented datacollection is turned on when the notification threshold is reached, thenthe increased data that is captured represents the network data slightlyafter the problem first starts to manifest. To alleviate this problem asimple scaling factor may be applied to the notification threshold thatindicates a network problem as will be explained below.

If the predicted issue does not occur or if the administrative user doesnot investigate within a fixed period of time, the central managementsystem 130 can remove the extra data 282, 284, and 286 from the database224 to ensure that the required storage space for data collection islimited.

It is also important that there are more false positives than falsenegatives in terms of identifying potential issues. For issues that arehard to predict, the central management system 130 may always collectand store augmented data relating to the issue. If the extra data is notrequired, either because no issues arose or the network administratordoes not need to investigate the issue, the central management system130 can automatically remove the extra data based on the time the datahas been stored and unused or other factors such as the capacity of thedata storage device.

In operation, network traffic data in the central office 120 iscollected as traffic is processed by the network traffic monitoringmodule 206 of the central management system 130. The collected networktraffic data is summarized and stored in the central database 224. Thetraffic performance analysis engine 222 reads the data from the database224 and analyzes the data. For example, an application performanceanalysis engine may look at a number of metrics for a given serverapplication available over a network such as network delay, serverdelay, jitter, loss, round trip time) to determine whether theapplication is performing well. The traffic performance analysis engine222 stores the data 280 in the database 224. The reporting engine 210generates reports on the data from the database 224.

If the traffic performance analysis engine 222 determines that theremight be a problem (e.g., the application performance score droppedindicating that the end user experience of the application was poor),then it notifies the data collection engine 220. The data collectionengine 220 may then enter an augmented data collection mode where itgathers data from other sources in addition to base line data. The datacollection engine 220 stores the augmented data from the other sourcesin the database 224. The data collection engine 220 may also change whatdata is received and the summarized granularity of the data from thesources. The reporting engine 210 can report on the data from thestandard (non-problem) state, as well as the extra data that wasgenerated due to the problem state.

When the traffic performance analysis engine 222 determines that thereis no longer a problem, it notifies the data collection engine 220 tostop collecting extra data. If the analysis engine 222 determines thatthe event that triggered the extra data collection was not actually aproblem, it can remove the extra data that was collected from thedatabase 224 in order to conserve storage capacity.

There may be any number of use cases of issues that may cause augmenteddata collection. In one example in the system 100 in FIG. 1, if one ofthe network traffic appliances 126 or 128 notices a bad call occurringfrom the VOIP phones 154 or 164, the appropriate network trafficappliance 126 or 128 may commence collecting more data about the call aswell as inform the management system 130 that a bad call is occurring.The management system 130 may then start collecting data through SNMPdata from the call manager 134 as well as data from the data collectorsof the network traffic appliances 126 and 128. When VoIP calls aredetected as being poor, the central management system 130 may collectmore information regarding the VoIP calls (such as collecting andstoring data for all fair to poor calls, storing conversation metadatafor the calls, storing more data for non-VoIP operations) so that thenetwork manager knows who participated in the poor calls, what thebandwidth utilization was, what the metrics of the call quality were,what other traffic was on the network at the time of the poor calls.

Another example is when excessive network traffic data falls into anauto-catch-all bucket of a network traffic appliance such as the networktraffic appliance 126. The QoS controller 260 of the network trafficappliance 126 has configured policy rules for all the network trafficthat passes through the network traffic appliance 126. These policyrules are configured by the network administrator. If there is networktraffic that does not match any of the rules, the network trafficappliance 126 puts the non-matching network traffic into anautomatically created auto-catch-all rule. Thus, when excessive datafalls into the catch-all bucket, the system was not configured properly,and the policy rules are not processing some of the network traffic, thecentral management system 130, may collect more information (such asfull conversation data), so that the administrative user can determinehow to better configure the system.

Another example is when there is a spike in traffic throughput overallor by a single user/IP or group as evidenced by an unusually high amountof network traffic for the user/IP or group for a period of time. Thecentral management system 130 may collect more network trafficinformation (such as conversation data), so that the administrative usermay determine if the spike in traffic is acceptable. For instance, ifthe traffic spike was due to conversations with social networking sites,or P2P sites, it may not be acceptable and the administrative user mayimplement a policy to limit this type of behavior.

In another example, when there is an issue in the network, the centralmanagement system 130 may collect NetFlow data from network appliancesother than the network appliances 126 and 128. This provides insightinto other network components. For example, the system may collectNetFlow data from a router that will provide insight into networktraffic flowing in other parts of the network.

In another example, when P2P traffic is detected by deep packetinspection by one of the network traffic appliances 126 or 128, thecentral management system 130 may collect more information (such as moregranular data and conversation data), so that the network manager cangather all the data required to deal with a copyright violationinvestigation.

In another example, when server health issues are detected for aparticular host such as the server 132, the central management system130 may collect more data such as SNMP data from the server.

In another example, when a server has a lengthened response time torequests, the central management system 130 may start to poll serverhealth statistics through SNMP and, upon further diagnosis, maydetermine that the system is under attack from a DDoS attack and turn onextra data collection from a firewall to collect data that may help theadministrator track down the source of attack.

When the number of connections spike, the central management system 130may collect more information regarding the connections (such asconversation data) so that it can be determined why there were so manyconnections. For instance, a spike in connections may indicate a denialof service attack.

The central management system 130 may have particular traffic patternsthat are stored based on previous operation. When the current trafficpatterns of the networks deviate from the expected traffic pattern, thecentral management system 130 may collect more information (such as moregranular data and conversation data), so that issues that arise with thetraffic deviation symptom can be investigated.

When an application that has been identified as an importantapplication, for example, if there is an application performance scoreobject created to monitor it and the application starts performingpoorly as evidenced by the calculated score dropping below a thresholdlevel, the central management system 130 may collect more data regardingthe other traffic in the network at the time so that the network managercan properly investigate how to better protect that application.

A specialized application may be the Netflow producer module 290connected to the central management system 130 in FIG. 2. The Netflowproducer module 290 includes a traffic monitor and a Netflow emitter.

In one example, the network traffic appliances 126 and 128 monitortraffic and computing application performance scores of devices on theLANs of the branches 150 and 160. In this example, when the applicationperformance score drops below a threshold value, the network trafficappliances 126 and 128 report the occurrence to the management system130. The management system 130 then decides if more network traffic datais needed to analyze the occurrence. If more network traffic data isneeded, the central management system 130 may command the networktraffic appliances 126 and 128 to start collecting more network trafficdata such as data in the form of Netflow data collection or other typesof data collection. The central management 130 may also communicate toan application server such as the application server 132 and startscollecting SNMP data about the health of the application server hardwareand software. This may also happen for cloud-hosted application serverssuch as the server 102 in FIG. 1. However, since SNMP data may not beavailable from the cloud hosting server, the management system 130 mayturn on Netflow collection from the Netflow producer module 290 so thatall conversations competing for the limited bandwidth of the Internetconnection will be collected for future analysis.

In this example, the traffic monitor on the Netflow producer module 290monitors traffic of a specific application. Based on this traffic, thesystem will compute a score for the application. The application scoreis computed from a number of factors including network traffic variablessuch as network delay, loss, and jitter as well as server responsefactors such as server delay. These are combined into an ApplicationPerformance Score (APS). The NetFlow emitter on the Netflow producermodule 290 monitors traffic flowing through it and produces a NetFlow v9record for each flow on the network. This flow emission can becontrolled through a configuration setting of the appliance.

The Netflow v9 records are sent to the Netflow interface 244, which actsas a NetFlow collector that collects the NetFlow v9 records. The Netflowinterface 244 stores the records and allows the user to see reportsbased on the data within the NetFlow records. The traffic performanceanalysis engine 222 monitors the APS scores generated by the trafficmonitor and may control the configuration settings of the NetFlowEmitter of the interface 244 in the data collection engine 220.

The central management system 130 will monitor the applicationperformance scores (APS) produced by the appliance such as the networktraffic appliance 126. When the APS drops below a threshold value, thecentral management system 130 will communicate with the Netflow producermodule 290 to instruct it to start emitting the NetFlow v9 records. Thethreshold value is provided by the customer or automatically computed bythe network traffic appliance through a base-lining process. Theserecords are sent to the central management system 130 for collection andlater reporting. The central management system 130 continues to monitorthe APS; when it returns to a value above the customer specified value,the central management system 130 instructs the Netflow producer module290 to stop emitting NetFlow records.

Alternatively, a network traffic appliance such as the network trafficappliance 126 may assume the functions of a traffic monitor and Netflowemitter performed by the Netflow producer module 290. In this instance,the network traffic appliance 126 may be configured for certainconditions to start emitting NetFlow records. This logically extends tomultiple appliances such as the other network traffic appliancesemitting NetFlow records to the single central management system 130. Byhaving the NetFlow emission turned on and off in this manner, the entirevolume of traffic for monitoring can be increased without the NetFlowcollection becoming the bottleneck of the monitoring system. Using thissolution, the NetFlow collector only has to handle a fraction of thetraffic volume for a fraction of the total time compared to traditional“always on” NetFlow collection procedure. Therefore, the NetFlowcollector (either producer module 290 or network traffic appliance 126)in this example is allowed to fall behind in the collection because itwould be given a chance to catch up when collection is no longerrequired, such as when the APS indicated that there was no longer anapplication performance issue.

To ensure that the data is collected before the issue is confirmed, asimple scaling factor may be applied to the threshold value thatindicates a network problem. For example, one threshold value may be asimple percentage factor of 10%. The data collection could be enabledwhen the application performance scores (APS) are within 10% of theconfigured threshold value. This would enable data collection slightlyahead of the APS value triggering an alert to the customer. The datacollection could be turned off at the same 10% threshold value as theAPS is rising. The use of a scaled value allows collecting more data butit would still retain the majority of the benefit while providing databefore the threshold was crossed. The exact value before the thresholdwould be dependent on the nature of how the APS is computed.

The advantages of selected augmentation of data collection make thesystem more efficient to operate. Due to the periodic increase in datacollection, a single platform may scale to higher levels of trafficmonitoring without having to increase its overall capacity.

A network manager can specify how sensitive the detection should be andmake the appropriate settings in the traffic performance analysis engine222 of the central management system 130. For example, increasing thesensitivity or increasing the threshold percentage will result ingreater instances of increased data collection while decreasingsensitivity or decreasing the threshold percentage will result in lessinstances of increased data collection. A network manager can specifythat detection is to be processed when particular subnets such as asubnet representing a particular server or set of devices are involved.In this manner, extra data collection may be isolated for a particularapplication for a particular set of servers. A network manager may alsospecify how aggressively the collected data is cleaned up. For example,the collected data from the augmented network traffic data may be storedfor 14 days in the central database 224, or may be immediately erasedonce an abnormal condition triggering the increased collection isremedied.

When the central management system 130 instructs a network trafficappliance such as the network traffic appliance 126 to start augmentingdata collection, the central management system 130 could apply a filtersuch that only the network traffic records that are contributing to thenetwork issue are collected and stored. For example, only a certain typeof data collection may be enabled for the data collection engine 220such as SNMP data. This further reduces the amount of data that isstored during the augmented data collection periods.

Even though SNMP data from a server is not expensive to retrieverelative to other forms of data, SNMP data would also be wasted ifcollected all of the time. The additional monitoring data from the dataserver may be controlled by the same application performance scoremechanism. When the APS drops below a threshold, the traffic collectionof SNMP may be enabled. When the APS rises above a threshold, thetraffic collection of SNMP may be suspended again.

There are other systems available that collect more in-depth serverperformance metrics based on Application Performance Monitoring agents.These agents put an extra load on the server that they are monitoring.These agents could also be controlled via thresholds of the applicationperformance score. When the score falls below a threshold, the datacollection is enabled via the agent. When the score rises above athreshold, the data collection may be suspended for the agent.

The augmented network collection may also be run for a single networkvia a network traffic appliance such as the network traffic appliance128 in FIG. 1. FIG. 3 shows a block diagram of the network trafficappliance 128 that may increase augmented data collection for a LAN suchas the LAN on the branch office 160 independently from the centralmanagement system 130. Of course, the network traffic appliance 128 mayalso work under the direction of the central management system 130 asdescribed above in relation to data collection from the network trafficappliance 128 for overall network traffic data.

The network traffic appliance 128 shown in FIG. 3 includes a controller302, a network traffic monitoring module 304, and a reporting module306. The controller 302 includes a quality of service (QoS) controller310, a WAN optimizer controller 312, and a configuration user interface314. The WAN optimizer controller 312 monitors applications running onthe network. The configuration user interface 314 displays networktraffic data to a user and allows the user to configure policies todirect network traffic managed by the network traffic managementappliance 128.

The QoS controller 310 includes an enforcement module that accessesstored rules or policies for managing network traffic managed throughthe network traffic management appliance 128.

The network traffic monitoring module 304 includes a data collectionengine 320, a traffic performance analysis engine 322 and a trafficcollection database 324. The data collection engine 320 obtains datafrom the network traffic controlled by the network traffic appliance128. Other sources of network traffic data may include the servers 228,the Netfiow collector 230, and third-party data 232 as explained abovein reference to FIG. 2.

The reporting module 306 includes a reporting engine 330, whichinterfaces with the network traffic monitoring module 304 to report theresults of data on the flow of traffic in the network monitored by thenetwork traffic appliance 128.

In FIG. 1, users on a LAN, such as those of the branch office 160, haveall of their traffic flow through the traffic management appliance 128,which applies its QoS rules and policies from the QoS enforcementmodule. A client computer on the LAN, such as the computer 162, willmake a request to a website that may be operated by the server 102coupled to the WAN 110. For example, a user may log on to a website.This request has to compete with all the other WAN bound requests andresponses. The QoS enforcement module in the traffic managementappliance 128 shapes the network traffic allocated to the user requestssuch as that for web access according to the rules (policies) that theuser has configured. This allows certain traffic to be guaranteedcertain portions of the link and other traffic to be limited to certainportions.

Network traffic data collection is accomplished by the data collectionengine 320 that stores collected data to the database 324. As will beexplained below, the network traffic data collected by the datacollection engine 320 may be requested by the reporting engine 330 whencertain conditions exist. The data collection engine 320 in this examplecollects certain network data from the LAN, calculates the applicationperformance score of applications such as VOIP, performance as observedby the user, monitor network delay, server delay, loss/jitter, andestablish a baseline of what each value should be. The network trafficappliance 128 collects a baseline of network traffic data that is storedfor historical purposes in the database 324.

FIG. 4A shows the components of FIG. 1 under normal data collectioncircumstances by a network traffic appliance such as the network trafficappliance 128 in FIG. 3. Like element numbers are labeled in FIG. 4A asin FIG. 3. The controller 302 transmits normal network traffic data tothe data collection engine 320 (400). The controller 302 collects normaldata relating to network traffic on the LAN in the branch office 160 inthis example such as VOIP application performance score, network delay,server delay, and loss/jitter. The collected normal network traffic datais stored in the traffic collection database 324 (402). The trafficperformance analysis engine 322 periodically reads the data to determineif an abnormal condition is present (404). The traffic performanceanalysis engine 322 stores the status of the network based on theanalysis of the normal data in the database 324 (406). The reportingengine 330 takes data from the database 324 to prepare reports on thestatus of network based on the normal network traffic data collection(408).

FIG. 4B shows the components of FIG. 1 and FIG. 3 when an abnormalcondition is detected and increased network data collection occurs inthe system in FIG. 1. Normal network traffic data is analyzed by thetraffic performance analysis engine 322 as explained above in FIG. 4A.When the traffic performance analysis engine 322 determines an abnormalcondition such as when the application performance score drops, theincreased data collection is triggered. The traffic performance analysisengine 322 commands the data collection engine 320 to increasecollection of data (450). The data collection engine 320 increases thecollection of network traffic data (452). The increased collection ofdata may include additional data from the network traffic appliancecontroller 302. The increased collection of data may also include SNMPdata from the servers 228, Netflow protocol data from the router 230 orthe Netflow producer module 290, and third-party collected data from thethird-party data source 232 in FIG. 2.

The data collection engine 320 sends the data from the increasedcollection of network traffic data to the network traffic data database324 for storage (454). The increased collection of data results in moredata being stored than the normal data collected. The reporting engine330 reads the data from the database 324 for further analysis todetermine the abnormal condition (456).

When the analysis engine 322 determines that the event that triggeredthe increased data collection is no longer a problem, it commands thedata collection engine 320 to cease the increased data collection. Thenetwork traffic appliance 128 then returns to normal operation of datacollection. The traffic analysis engine 322 may determine that the eventthat triggered the increased data collection was not actually a problemand may remove the collected data from the database 324.

The process of adjusting network traffic policies will now be describedwith reference to FIGS. 1-3 in conjunction with the flow diagram shownin FIG. 5. The flow diagram in FIG. 5 is representative of examplemachine readable instructions for enhanced network traffic datacollection for the system in FIG. 1. In this example, the machinereadable instructions comprise an algorithm for execution by: (a) aprocessor, (b) a controller, and/or (c) one or more other suitableprocessing device(s). The algorithm may be embodied in software storedon tangible media such as, for example, a flash memory, a CD-ROM, afloppy disk, a hard drive, a digital video (versatile) disk (DVD), orother memory devices, but persons of ordinary skill in the art willreadily appreciate that the entire algorithm and/or parts thereof couldalternatively be executed by a device other than a processor and/orembodied in firmware or dedicated hardware in a well-known manner (e.g.,it may be implemented by an application specific integrated circuit(ASIC), a programmable logic device (PLD), a field programmable logicdevice (FPLD), a field programmable gate array (FPGA), discrete logic,etc.). For example, any or all of the components of the interfaces couldbe implemented by software, hardware, and/or firmware. Also, some or allof the machine readable instructions represented by the flowchart ofFIG. 5 may be implemented manually. Further, although the examplealgorithm is described with reference to the flowcharts illustrated inFIG. 5, persons of ordinary skill in the art will readily appreciatethat many other methods of implementing the example machine readableinstructions may alternatively be used. For example, the order ofexecution of the blocks may be changed, and/or some of the blocksdescribed may be changed, eliminated, or combined.

FIG. 5 is a flow diagram of the process followed for enhanced datacollection by the central management system 130 in FIG. 1. Normalnetwork traffic data collection is performed by the data collectionengine 220 (500). The collected normal data is stored in the centraldatabase 224 (502). The stored data is analyzed by the trafficperformance analysis engine 222 (504). The analysis may occurperiodically or in real time. The traffic performance analysis engine222 determines whether an abnormal condition exists. If an abnormalcondition does not exist, the system continues to collect data normally(500).

If an abnormal condition is detected, the traffic performance analysisengine 222 causes the data collection engine to increase the collectionof network traffic data (506). The increased collection can come fromthe network traffic appliances 126 and 128 managed by the centralmanagement system 130 as well other sources such as servers 228, therouter 230, the Netflow producer module 230, and third-party data 232.The data from the increased collection is stored in the database 224(510). The analysis engine 222 analyzes the additional data (512). Theadditional data may also be sent to the reporting engine 210 for lateranalysis. The analysis engine 222 determines whether the abnormalcondition is still present (514). If the analysis engine 222 determinesthe abnormal condition is still present, the increase in data collectionis continued (508). If the analysis engine 222 determines the abnormalcondition has ceased, the analysis engine 222 will cause the datacollection engine 220 to resume normal collection of data (500).

Each of these embodiments and obvious variations thereof is contemplatedas falling within the spirit and scope of the claimed invention, whichis set forth in the following claims.

What is claimed is:
 1. A method of adjusting network data management ina network appliance coupled to devices in a network, the networkappliance passing data traffic on the network, the method comprising:collecting network traffic data from a first set of data sources basedon the data traffic passing through the network appliance at a normallevel; determining whether the network traffic data indicates anabnormal condition; when an abnormal condition is determined, increasingthe collection of network traffic data through collection of networkdata from a second set of data sources and through the network trafficappliance, wherein the first set of data sources is different than thesecond set of data sources; and storing the network traffic data fromincreased collection in a memory device to determine a cessation of theabnormal condition.
 2. The method of claim 1, further comprisingmonitoring the increased collection of network traffic data to determinethe cessation of the abnormal condition.
 3. The method of claim 2,further comprising returning the collection of network traffic data tothe normal level when the abnormal condition has ceased.
 4. The methodof claim 2, further comprising returning the collection of networktraffic data to the normal level after a predetermined time.
 5. Themethod of claim 1, wherein the network traffic data from the increasedcollection is removed from the memory device after the abnormalcondition ceases.
 6. The method of claim 1, wherein the increased datacollection includes network traffic data collected under the Netflowprotocol.
 7. The method of claim 1, wherein the increased datacollection includes at least one of network traffic data from a router,a server, a firewall, or a network device.
 8. The method of claim 1,wherein the central management device controls a second network trafficappliance monitoring traffic on a second network, the increased datacollection coming exclusively from the first network traffic appliance.9. The method of claim 1, wherein the increased collection of networktraffic data is performed through a data collection device in thenetwork.
 10. The method of claim 9, wherein the data collection deviceexecutes an application from a third party separate from a vendor of thenetwork traffic appliance.
 11. The method of claim 9, wherein the datacollection device is from a third party separate from the vendor of anetwork traffic appliance.
 12. The method of claim 9, wherein thenetwork traffic data is in a proprietary format.
 13. The method of claim1, wherein the collecting network traffic data at a normal levelincludes collecting data traffic monitored by a device in the network.14. The method of claim 1, wherein the determining whether the networkdata traffic indicates an abnormal condition includes comparing thecollected network traffic data to a network traffic baseline.
 15. Themethod of claim 1, wherein the determining whether the network datatraffic indicates an abnormal condition includes comparing the collectednetwork traffic data with an expected network traffic pattern.
 16. Themethod of claim 1, wherein the determining whether the network datatraffic indicates an abnormal condition includes determining applicationperformance for an application on a device on the network in comparisonto an application performance score.
 17. The method of claim 1, whereinthe increase in collection of network data includes a type of networktraffic data selected based on the type of abnormal condition.
 18. Themethod of claim 1, wherein the increase in collection of network dataincludes filtering for network traffic data contributing to the abnormalcondition.
 19. The method of claim 1 wherein the increase in collectionof network traffic data includes server performance metrics data. 20.The system of claim 1, wherein the collection module includes aplurality of data interfaces and each of the data interfaces collects adifferent source of network traffic data.
 21. A traffic managementsystem for regulating network traffic between computing devices in anetwork, the system comprising: a processor; and one or more storagedevices, wherein at least one of the storage devices stores networktraffic data and at least one of the storage devices is coupled to theprocessor and comprises modules, which are executable by the processor,comprising: a collection module for collecting the network traffic datafrom a first set of data sources; a data analysis module coupled to thedata collector module, the data analysis module monitoring the networktraffic data from the collection module and determining whether thenetwork traffic data indicates an abnormal condition; and wherein whenan abnormal condition is determined by the data analysis module, thecollection module collects the network data from a second set of datasources and the collection module increases collection of networktraffic data to determine a cessation of the abnormal condition, and thefirst set of data sources is different than the second set of datasources.
 22. The system of claim 21, further comprising: a networktraffic appliance for managing network traffic data on a anothernetwork; and wherein the collection module and the data analysis moduleare in a central management device coupled to the network trafficappliance.
 23. The system of claim 22, wherein the central managementdevice analyzes the network traffic data to determine the abnormalcondition.
 24. The system of claim 21, wherein the collection modulemonitors the increased collection of network traffic data to determinethe cessation of the abnormal condition.
 25. The system of claim 24,wherein collection of network traffic data is returned to the normallevel when the abnormal condition has ceased.
 26. The system of claim24, further comprising returning the collection of network traffic datato the normal level after a predetermined time.
 27. The system of claim21, wherein the network traffic data from the increased collection isremoved from the memory device after the abnormal condition ceases. 28.The system of claim 21, wherein the increased data collection includesnetwork traffic data collected under the Netflow protocol.
 29. Thesystem of claim 21, wherein the increased data collection includes atleast one of network traffic data from a router, a server, a firewall,or a network device.